package net.yondervision.hrfsp.sdk.esign.domain;

import cn.hutool.http.Method;

/**
 * @author Cash Zhang
 * @version v1.0
 * @since 2019/09/26 21:23
 */
public interface ESignRequest<T extends AbstractESignResponse> {

  String getServerHost();

  void setServerHost(String serverHost);

  String getVersion();

  void setVersion(String version);

  String getAppId();

  void setAppId(String appId);

  String getAccessToken();

  void setAccessToken(String accessToken);

  String getUrl();

  void setUrl(String url);

  Method getMethodType();

  void setMethodType(Method methodType);

  ParamPath getParamPath();

  void setParamPath(ParamPath paramPath);

  ParamQuery getParamQuery();

  void setParamQuery(ParamQuery paramQuery);

  ParamBody getParamBody();

  void setParamBody(ParamBody paramBody);

  Class<T> getResponseClass();

  void setConfig(String serverHost, String version, String appId);

  void setConfig(String serverHost, String version, String appId, String accessToken);

  void clearParams();
}
